package com.clm.mapper;

import com.clm.dto.GoodsSalesDTO;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @Author dinghuapeng
 * @Date 2023/11/22 15:05
 * @PackageName:com.clm.mapper
 * @ClassName: ReportMapper
 * @Description: TODO
 * @Version 1.0
 */
@Mapper
public interface ReportMapper {
    /**
     * 根据动态条件统计营业额
     * @param map
     * @return
     */
    Double sumByMap(Map map);

    /**
     * 根据动态条件统计用户数量
     * @param map
     * @return
     */
    Integer countUserByMap(Map map);

    /**
     *根据动态条件统计订单数量
     * @param map
     */
    Integer countByMap(Map map);

    /**
     * 查询商品销量排名
     * @param begin
     * @param end
     */
    List<GoodsSalesDTO> getSalesTop10(LocalDateTime begin, LocalDateTime end);


    /**
     * 根据条件统计菜品数量
     * @param map
     * @return
     */
    Integer countDishByMap(Map map);

    /**
     * 根据条件统计套餐数量
     * @param map
     * @return
     */
    Integer countSetMealByMap(Map map);
}
